Various classes of block diagram models describe computations that can be performed on application-specific computing hardware, such as a computer, microcontroller, FPGA, and custom hardware. Classes of such block diagram models may include time-based block diagrams such as those found within Simulink® from The MathWorks, Inc. of Natick, Mass., state-based and flow diagrams such as those found within Stateflow® from The MathWorks, Inc. of Natick, Mass., entity flow network diagrams such as SimEvents from The MathWorks, Inc. of Natick, Mass., and data-flow diagrams such as those found with LabView from National Instruments of Austin, Tex. A common characteristic among these various forms of block diagrams is that they define semantics on how to execute the diagram.
Historically, engineers and scientists have utilized time-based block diagram models in numerous scientific areas such as Feedback Control Theory and Signal Processing to study, design, debug, and refine dynamic systems. Dynamic systems, which are characterized by the fact that their behaviors change over time, are representative of many real-world systems. Time-based block diagram modeling has become particularly attractive over the last few years with the advent of software packages such as Simulink from The MathWorks, Inc. Such packages provide sophisticated software platforms with a rich suite of support tools that makes the analysis and design of dynamic systems efficient, methodical, and cost-effective.
The block diagrams are not exclusively used for representing time-based dynamic systems but also for other models of computation. For instance, flow-charts are block diagrams used to capture process flow and are not generally suitable for describing dynamic system behavior. Data flow block diagrams are block diagrams that describe a graphical programming paradigm where the availability of data (often thought of as tokens) is used to initiate the execution of blocks, where a block represents an operation and a line represents execution dependency describing the direction of data flowing between blocks.
After executing or simulating the block diagrams, information on the execution or simulation results of the block diagrams needs to be provided to the designer or programmer of the block diagrams. In particular, the designer or programmer can use the information on the execution results of the block diagrams to correct the undesirable or unintended behavior of the block diagrams. In the conventional block diagram environments, the designer or programmer analyses the information on the execution results of the block diagrams, and determines, for example, which portion of the block diagram contributes to the undesirable or unintended behavior of the block diagram. The analysis process, however, is time-consuming. Therefore, it is desired to provide a visual representation of execution results of the block diagrams to the designer or programmer so that the designer or programmer can perceive the execution results easily.